<?php 
    namespace Home\Model;
    use Think\Model;
    class UserModel extends Model {
        /**
         * 自动验证
         * self::EXISTS_VALIDATE 或者0 存在字段就验证（默认）
         * self::MUST_VALIDATE 或者1 必须验证
         * self::VALUE_VALIDATE或者2 值不为空的时候验证
         */
        protected $_validate = array(
            //注册验证
            array('tongyi', 'require', '请先同意用户协议！'), // 判断是否勾选网站安全协议
            array('username', 'require', '用户名不能为空！'), //默认情况下用正则进行验证
            array('pass', 'require', '密码不能为空！'), //默认情况下用正则进行验证
            array('pass', '/^([a-zA-Z0-9@*#]{6,22})$/', '密码格式不正确,请重新输入！', 0),
            array('repass', 'pass', '两次密码不一致!', 0, 'confirm'), // 验证确认密码是否和密码一致
            array('email', 'email', '邮箱格式不正确!'), // 内置正则验证邮箱格式
            array('username', '', '该用户名已被注册！', 0, 'unique', 1), // 验证name字段是否唯一
            array('email', '', '该邮箱已被占用!', 0, 'unique', 1), // 验证email字段是否唯一

            //修改密码验证
            array('oldpass', 'require', '原密码不能为空！'), //默认情况下用正则进行验证
            array('newpass', 'require', '新密码不能为空！'), //默认情况下用正则进行验证
            array('newrepass','require','确认密码不能为空！'), //默认情况下用正则进行验证
            array('newpass', '/^([a-zA-Z0-9@*#]{6,22})$/', '新密码格式不正确,请重新输入！', 0),
            array('newrepass', 'newpass', '两次密码不一致', 0, 'confirm'), // 验证确认密码是否和密码一致
        );  
    

        /**
         * 自动完成
         */
        protected $_auto = array (
            array('pass', 'md5', 3, 'function') , // 对password字段在新增和编辑的时候使md5函数处理
            array('createtime', 'time', 1, 'function'), // 对regdate字段在新增的时候写入当前时间戳
        );
    }
